<?php

namespace app\backend\controller;

use think\Controller;
use think\Request;
use think\Session;
use app\backend\model\Permission as PermissionModel;

class Permission extends Controller
{
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index(Request $request)
    {
        $page = $request->param('page');
        if (empty($page)){
            $page = 1;
        }
        // 文章总数
        $permission_count = PermissionModel::count();  
        // 每页显示多少条
        $limit = 10;
        // 偏移量  从哪一条开始算起
        $offset = ($page - 1) * $limit;
        // 总页数
        $page_count = intval(ceil($permission_count/$limit));
        //SQL  
        $res_permissions = PermissionModel::limit($offset, $limit)->select();
        $res = [$res_permissions, $page_count, $permission_count, $limit];
        return json_encode($res);
        
    }

    /**
     * 显示创建资源表单页. 改为了 用户显示页修改时 显示权限
     *
     * @return \think\Response
     */
    public function create()
    {
        //
        $permission = PermissionModel::select();
        return json_encode($permission);
    }

    /**
     * 保存新建的资源
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function save(Request $request)
    {
        $name = $request->param('name');
        $permission = PermissionModel::where('permission', $name)->find();
        if(!empty($permission)){
            if ($name == $permission->permission){
                return 3;
                exit;
            }
        }else{
            $intro = $request->param('intro');
            $permission = new PermissionModel;
            $permission->permission = $name;
            $permission->intro = $intro;
            if($permission->save()){
                return 1;
            }else{
                return 0;
            }
        }
    }

    /**
     * 显示指定的资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function read($id)
    {

    }

    /**
     * 显示编辑资源表单页.
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($id)
    {
        if(Session::has('username')){
        }else{
            return 'You Cant Not Found.';
            exit;
        }
        $permission = PermissionModel::get($id);
        return json_encode($permission);
    }

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
        if (Session::has('username')){
            if(Session::get('permission') != '管理者'){
                return 0;
                exit;
            }
        }
        if($request->param('name') == '管理者'){
            return 0;
            exit;
        }else{
            $name = $request->param('name');
            $intro = $request->param('intro');
            $permission = PermissionModel::get($id);
            $permission->permission = $name;
            $permission->intro = $intro;
            if($permission->save()){
                return 1;
            }else{
                return 3;
            }
        }
    }

    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($id)
    {
        if(Session::has('username')){
            if (Session::get('permission') == '管理者'){
            $res = PermissionModel::destroy($id);
                if ($res){
                    return '删除文章成功！';
                }
            }
        }else{
            return 0;
        } 
    }
}
